package com.wj.jiangan.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wj.jiangan.pojo.Product;
import com.wj.jiangan.pojo.vo.productStockSortVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author wj
 * @since 2019-11-05
 */
public interface IProductService {


    //根据产地进行区分商品页面：
    List<Product> selectAllProduect();

    //添加
    int saveProduct(Product product );
    /**
     * 根据id查询部门
     */
    List<Product> queryPoductByPId(QueryWrapper queryWrapper);

    void updateProductByPId(Product product);
    /**
     * 分页查询类别表
     *
     * @param page
     * @return
     */
    IPage<Product> findProductByPage(Page<Product> page);

    /**
     * 下架商品查询
     *
     * @param page
     * @return
     */
    //下架商品查询
    IPage<Product> productByProductpIsUppxia(Page<Product> page, Map<String, Object> param);


    //查询库存商品的信息(查询和分页)
    IPage<productStockSortVo> findpssvoPage(Page page, Map<String, Object> param);

    //添加
   // int saveProduct(Product product);

    List<Map<String, Object>> getProdSales(Integer sid);

    List<Map<String,Object>> getProductSid(Map<String,Object> param);


    //用于库存信息三级联动的product中id
    List<Product> findproductvoAll(int pid);

    /**
     * 根据产品类别查询所有存在的产品
     *
     * @param sid
     * @return
     */
    List<Product> getExistProductBySid(Integer sid);

    List<Map<String, Object>> getProductAreaByPName(String pname);





}
